#include "PrimitiveCube.h"

//void PrimitiveCube::draw(Vec4d _color, bool _default){
//	Vec4d col = _default? Vec4d(mColor, 1.0): _color;
//	glColor4dv( col.Ref() );
//	glPushMatrix();
//	glTranslatef(mOffset[0], mOffset[1], mOffset[2]);
//	glScalef(mDim[0], mDim[1], mDim[2]);
//	glutSolidCube(1.0);
//	//glutWireCube(1.0);
//	glPopMatrix();
//}
//
//bool PrimitiveCube::isInside(Vec3d _pt){
//	return (fabs(_pt[0]-mOffset[0])<mDim[0]/2) && (fabs(_pt[1]-mOffset[1])<mDim[1]/2) && (fabs(_pt[2]-mOffset[2])<mDim[2]/2);
//}

Mat4d* PrimitiveCube::getMassTensor(){
	if(mMassTensor==NULL){
		mMassTensor = new Mat4d(vl_0);
		(*mMassTensor)[0][0] = (mDim[0]*mDim[0])/12;
		(*mMassTensor)[1][1] = (mDim[1]*mDim[1])/12;
		(*mMassTensor)[2][2] = (mDim[2]*mDim[2])/12;
		(*mMassTensor)[3][3] = 1;
		(*mMassTensor)*=mMass;
	}
	return mMassTensor;
}
//
//double PrimitiveCube::getVolume(){
//	return mDim[0]*mDim[1]*mDim[2];	//	a*b*c
//}
